#include"SList.h"

void test1()
{
	SLTNode* phead = InitNode();

	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);
	SLTPrint(phead);
}

void test2()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);

	SLTPushFront(phead, 5);
	SLTPushFront(phead, 6);
	SLTPrint(phead);
}


void test3()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);


	SLTPophBack(phead);
	SLTPophBack(phead);
	SLTPophBack(phead);


	SLTPrint(phead);
}

void test4()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);


	SLTPopFront(phead);
	SLTPopFront(phead);
	SLTPopFront(phead);
	SLTPopFront(phead);
	SLTPopFront(phead);

	SLTPrint(phead);
}

void test5()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);
	SLTPrint(phead);
	SLTNode* p = SLTFind(phead, 1);
	printf("%d\n", p->data);
	SLTDestroy(phead);
}

void test6()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);
	SLTPrint(phead);
	SLTNode* p = SLTFind(phead, 4);
	printf("%d\n", p->data);

	SLTInsert(phead, p, 10);
	SLTPrint(phead);

	SLTDestroy(phead);
}

void test7()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);
	SLTPrint(phead);
	SLTNode* p = SLTFind(phead, 1);
	printf("%d\n", p->data);

	SLTErase(phead, p);
	SLTPrint(phead);

	SLTDestroy(phead);
}



void test8()
{
	SLTNode* phead = InitNode();
	SLTPushBack(phead, 1);
	SLTPushBack(phead, 2);
	SLTPushBack(phead, 3);
	SLTPushBack(phead, 4);
	SLTPrint(phead);
	SLTNode* p = SLTFind(phead, 3);
	printf("%d\n", p->data);

	//SLTInsertAfter(p, 10);
	SLTEraseAfter(p);
	SLTPrint(phead);

	SLTDestroy(phead);
}
int main()
{
	test8();
	return 0;
}